ÀÌ ÅäÇÈÀº GUI µðÀÚÀ̳ÊÀÇ Æû ÀÛ¾÷À» Çϱâ À§ÇØ Äڵ带 ¾²´Â ±âÃʸ¦ ¼³¸íÇÕ´Ï´Ù. ´ç½ÅÀÌ ÇÒ Çʿ䰡 ÀÖ´Â 3°³°¡ º»ÁúÀûÀ¸·Î ÀÖ½À´Ï´Ù:
Æû Ŭ·¡½º¸¦ À§ÇØ »ý¼ºÀÚ¸¦ »ý¼ºÇÕ´Ï´Ù
ÇÊµå ±¸¼º¿ä¼Ò¸¦ À§ÇÏ¿© ±â´É ±×·ì°ú ¾×¼ÇÀ» »ý¼ºÇÕ´Ï´Ù
¼±ÅÃÀûÀ¸·Î Çʵå¿Í ÆûÀ» µ¥ÀÌÅÍ¿¡ ¹ÙÀεå ÇÏ´Â °ÔÅÍ/¼¼ÅÍ ¸Þ¼Òµå¸¦ »ý¼ºÇÕ´Ï´Ù
·±Å¸ÀÓ ÃʱâÈ Äڵ带 »ý¼ºÇÕ´Ï´Ù
¹®¼È´Â ´ç½ÅÀÌ ¹ú½á ÀÚ¹ÙÀÇ UI ÇÁ·Î±×·¥ ÀÛ¼º¿¡ °üÇÑ ¹«¾ùÀΰ¡ ¾Ë°í ÀÖ°í, ´ç½ÅÀÌ ±â´ÉÀ» ´ç½ÅÀÌ GUI µðÀÚÀÌ³Ê¿Í ÇÔ²² Çü¼ºÇÏ´Â Æû¿¡ Ãß°¡Çϱâ À§ÇØ ÇÊ¿ä·Î ÇÏ´Â ±âÃʸ¦ Æ÷ÇÔ½Ãų °ÍÀ̶ó°í °¡Á¤ÇÕ´Ï´Ù. ³ªÅ¸³ª´Â ¿¹´Â ÆûÀ» Çü¼ºÇÏ´Â ÇÁ·Î¼¼½ºÇÏ´Â µ¿¾È »ý¼ºµÈ Ŭ·¡½º¸¦ À§ÇØ ÀÖ½À´Ï´Ù. ±×·¯³ª ¿ø¸®´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ±â´ÉÀ» Á¦°øÇÏ´Â ¾î¶² Ŭ·¡½º¶óµµ Àû¿ë °¡´ÉÇÕ´Ï´Ù.

|
form class ¿ë¾î´Â GUI µðÀÚÀÌ³Ê ÆûÀÌ bound µÈ Ŭ·¡½º¸¦ ÂüÁ¶ÇÕ´Ï´Ù.
|
Æû Ŭ·¡½º¸¦ À§ÇÑ »ý¼ºÀÚ »ý¼º
|
´ç½ÅÀÌ GUI µðÀÚÀÌ³Ê Æû ºôµùÀ» ¸¶Ä¥ ¶§, ÃÖÀúÄ¡¿¡¼ ´ç½ÅÀº ¾Æ·¡ ¿¹¿¡ Á¦½ÃµÈ °Íó·³ Ŭ·¡½ºÀÇ Æû°ú ±¸¼º ÇüÅ Çʵ忡¼ Ŭ·¡½º¸¦ ¿©·¯ °¡Áö Æû ±¸¼º ¿ä¼Ò¿¡ ¹ÙÀεåÇØ¾ß¸¸ ÇÕ´Ï´Ù:
¸¸ÀÏ Æû Ŭ·¡½º°¡ Çϳª¸¦ ÀÌ¹Ì °¡ÁöÁö ¾ÊÀ¸¸é, ±×°ÍÀº ¿¹¸¦ µé¾î ¼³¸íµÇµµ·Ï Çϱâ À§ÇØ »ý¼ºÀÚ¸¦ ÇÊ¿äÇÕ´Ï´Ù. ¸¸ÀÏ IDEA°¡ À̰ÍÀ» ÇÏ´Â °ÍÀ» µ½±â ¿øÇϸé, Alt +
Insert¸¦ ´©¸£°í Constructor¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¸¸ÀÏ »ý¼ºÀÚ¿¡¼ Ãʱâ鵃 °ÍÀΠŬ·¡½º¿¡¼ ´ç½ÅÀÌ ¾î¶² Çʵ带 °¡Áö¸é, ´ÙÀ̾ó·Î±×¿¡¼ ±×µéÀ» ¼±ÅÃÇϽʽÿÀ. (»ý¼ºÀÚ¸¦ »ý¼ºÇÏ´Â °Í¿¡ °üÇÑ ´õ ¸¹Àº Á¤º¸¸¦ À§ÇØ, ÄÚµå »ý¼º À» º¾´Ï´Ù).

|
Æû ÆÄÀϰú Æû Ŭ·¡½º ÆÄÀÏÀÌ °°Àº ÆÄÀÏ À̸§À» °®´Â °ÍÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù – ¸¸ÀÏ ±×µéÀÌ ±×·¸Áö ¾ÊÀ¸¸é ´ç½ÅÀº ¿¡·¯¸¦ ¾òÁö ¾Ê°Ô µÉ °ÍÀÔ´Ï´Ù. ±×·¯³ª ±×µé¿¡°Ô °°Àº ÆÄÀÏ À̸§À» ÁÖ´Â °ÍÀº ÁÁÀº ±Ô¾àÀ» µû¸£´Â °ÍÀÔ´Ï´Ù.
|
Groups
¸¸ÀÏ ´ç½ÅÀÌ ±×·ìÀ¸·Î¼ ±â´ÉÇÒ Çʿ䰡 ÀÖ´Â ¿É¼Ç(¶óµð¿À)¹öư°ú °°Àº ±¸¼º ¿ä¼Ò¸¦ °¡Áö¸é, »ý¼ºÀÚ´Â ±×·ìÀ» »ý¼ºÇؾ߸¸ ÇÕ´Ï´Ù. ¾Æ·¡ ¿¹´Â Äڵ带 ¿ì¸®ÀÇ ¿¹Á¦ Æû À§¿¡¼ µÎ °³ÀÇ ¿É¼Ç ¹öưÀ» À§ÇØ ¹öư ±×·ìÀ» »ý¼ºÇϱâ À§ÇØ Ç¥½ÃÇÕ´Ï´Ù:
Actions
¹öưÀ» ¿¹¸¦ µé¸é ¾×¼ÇÀ» ¼öÇàÇÏ´Â ±¸¼º ¿ä¼Ò¸¦ À§ÇØ ´ç½ÅÀº action listeners ¿Í action events ¸¦ ¾µ Çʿ䰡 ÀÖ½À´Ï´Ù. ´ç½ÅÀº »ý¼ºÀÚ¿¡¼ ¶Ç´Â ´ç½ÅÀÌ »ý¼ºÀÚ¸¦ ºÎ¸£´Â º°µµ ¸Þ¼Òµå·Î À̰ÍÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ü¼øÇÑ °¡ÀÔ ´ÙÀ̾ó·Î±×ÀÇ ¿ì¸® ¿¹´Â »ý¼ºÀÚ¿¡¼ Á¦Ãâ ¹öưÀ» À§ÇÑ µ¿ÀÛ ¼ö½ÅÀÚ¿Í µ¿ÀÛ À̺¥Æ®¸¦ »ý¼ºÇÕ´Ï´Ù:
µ¥ÀÌÅÍ¿¡ ÇÊµå ¹Ù¿îµå¸¦ À§ÇÑ °ÔÅÍ/¼¼ÅÍ ¸Þ¼Òµå¸¦ »ý¼º
|
¸¸ÀÏ ´ç½ÅÀÌ ¿øÇÏ´Â UI Ŭ·¡½º¿¡¼ ´ç½ÅÀÌ Çʵ带 JavaBean Ŭ·¡½º¿¡¼ ÀϺΠµ¥ÀÌÅÍ¿¡ ¹ÙÀεåÇÏ°Ô Çϸé, IDEA´Â ´ç½ÅÀÌ À̰ÍÀ» »¡¸® ±×¸®°í Á¤È®ÇÏ°Ô ÇÏ´Â °ÍÀ» µ½´Â Ưº°ÇÑData
Binding Wizard ¸¦ Á¦°øÇÕ´Ï´Ù. GUI µðÀÚÀ̳ÊÀÇ Æ¯Â¡, ´ç½ÅÀº UI Ŭ·¡½º¸¦ ¹Ù¿îµå ÇÏ´ÂGUI ÆûÀÇ ±¸¼º ¿ä¼Ò¿¡¼ ¹ÙÀεåµÈ UI Ŭ·¡½º¿¡¼ Çʵ忡 ´ëÇÑ getData¿Í setData ¸Þ¼Òµå¸¦ »ý¼ºÇϱâ À§ÇØ ÀÌ ¸¶¹ý»ç¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ç½ÅÀº ±âÁ¸ bean Ŭ·¡½º¿¡¼ µ¥ÀÌÅÍ ¹ÙÀεùÀ» »ý¼ºÇÒ ¼ö Àְųª, ¸¶¹ý»ç¸¦ ÀÌ¿ëÇÏ¿© »õ·Î¿î bean Ŭ·¡½º¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¸é, UI Ŭ·¡½º¿¡¼ Çʵ忡 ¹ÙÀεåµÈ GUI Æû À§¿¡¼ ´ç½ÅÀÌ ÀϺÎ
JTextField ±¸¼º ¿ä¼Ò¸¦ °¡Áø´Ù ¶ó°í °¡Á¤ÇϽʽÿÀ. ±×·¯¸é ´ç½ÅÀº JavaBean Ŭ·¡½º¿¡¼ ÀϺΠµ¥ÀÌÅÍ¿¡ ¹ÙÀεåµÈ ±×µéÀÇ ÅØ½ºÆ® ¼Ó¼ºÀÇ °ªÀ» ¿øÇÕ´Ï´Ù. ¹°·Ð ´ç½ÅÀº Çʵ忡 ´ëÇÑ getData¿Í setData ¸Þ¼Òµå¸¦ »ý¼ºÇϸé¼, Á¤È®ÇÑ bean Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½ÄµÈ À̸§À» ÁöÁ¤Çϵµ·Ï ÁÖÀÇÇϰí, ÇÊ¿ä ÆÐŰÁö¸¦ ÀÓÆ÷Æ®ÇÏ¸é¼ µé¾î°¥ ¼ö ÀÖ°í, UI Ŭ·¡½º¸¦ ÆíÁýÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù. ±×·¯³ª, ¸¶¹ý»ç¸¦ ¹ÙÀεåÇϰí ÀÖ´Â µ¥ÀÌÅÍ´Â ¹ÙÀεåµÈ UI Ŭ·¡½º¿¡ ÀÖ¾î¼ÀÇ ¸Þ¼Òµå¸¦ ¹ÙÀεåÇϰí ÀÖ´Â µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ºü¸¥ ½Ã°¢Àû ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù, ¶ÇÇÑ ´ç½ÅÀÌ »õ·Î¿î bean Ŭ·¡½º¸¦ ÇÊ¿äÇÏ´Ù¸é »ý¼ºÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù.

|
À§¿¡¼ ¾Ï½ÃÇÑ °Í ó·³, GUI ÆûÀº Ŭ·¡½º¿¡ ¹ÙÀεåµÉ °ÍÀÓ¿¡ Ʋ¸²¾ø½À´Ï´Ù. ±×¸®°í GUI ±¸¼º ¿ä¼Ò´Â Data Binding Wizard¸¦ ½ÇÇàÇϱâ Àü¿¡ Ŭ·¡½º¿¡¼ ¾î¶² Çʵ忡 ¹ÙÀεåÀÏ °ÍÀÓ¿¡ Ʋ¸²¾ø½À´Ï´Ù.
|
Using the Data Binding
Wizard:
´ç½ÅÀÌ °ÔÅÍ/¼¼ÅÍ ¸Þ¼Òµå¸¦ »ý¼ºÇÏ°í ½Í¾îÇÏ´Â ±¸¼º ¿ä¼Ò¸¦ È®ÀÎÇÒ ¶§, ´ÙÀ½À» ÇϽʽÿÀ:
1.
GUI µðÀÚÀ̳ÊÀÇ Æû¿¡¼ ½Ã°¢ ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇϽʽÿÀ.
2.
GUI µðÀÚÀÌ³Ê Åø¹Ù À§¿¡¼, µ¥ÀÌÅÍ ¹ÙÀεù ¸¶¹ý»ç ¸¦ °³½ÃÇϱâ À§ÇØ ¾ÆÀÌÄÜÀ» Ŭ¸¯ÇϽʽÿÀ:
3.
ù ¹øÂ° ȸé À§¿¡¼, »õ·Î¿î Bean ¶Ç´Â ±âÁ¸ÀÇ BeanÀÇ µ¥ÀÌÅ͸¦ ¹ÙÀεå ÇÒ °ÍÀÎÁö ¼±ÅÃÇϰí, ´ç½ÅÀÌ ¼±ÅÃÇÑ ¿É¼Ç¿¡ ´ëÇÑ Å¬·¡½º¸¦ ÁöÁ¤ÇϽʽÿÀ.
4.
´ÙÀ½ ȸéÀº µ¥ÀÌÅÍ ¹ÙÀεù¿¡ ÀûÇÕÇÏ°í ÆûÀÇ UI Ŭ·¡½º¿¡¼ Çʵ忡 ¹ÙÀεåµÇ¾ú´ø Æû ±¸¼º ¿ä¼Ò¸¦ ¸®½ºÆ®ÇÕ´Ï´Ù. ¿À¸¥ÂÊ¿¡¼ °¢ ±¸¼º ¿ä¼Ò À̸§Àº ´ç½ÅÀÌ ±¸¼º ¿ä¼Ò¸¦ À§ÇØ µ¥ÀÌÅÍ ¼Ò½º/Ÿ°ÙÀ¸·Î¼ ¿øÇÏ´Â bean ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ÆíÁý ÇʵåÀÔ´Ï´Ù.
5.
µ¥ÀÌÅÍ ¹ÙÀεù Á¶ÀÛÀ» ¿Ï·áÇϱâ À§Çؼ Finish¸¦ ´©¸¨´Ï´Ù.
´ç½ÅÀÌ ¸¶¹ý»ç¸¦ ³¡³¾ ¶§, ´ç½ÅÀÌ ¸¶¹ý»ç¿¡°Ô¼ ÁöÁ¤Çß´ø ¿É¼Ç¿¡ µû¶ó Á¤ÀÇ getData¿Í setData ¸Þ¼Òµå´Â ÆûÀÇ Å¬·¡½º¿¡ ½áÁý´Ï´Ù. ÀÓÆ÷Æ® ½ºÅ×ÀÌÆ®¸ÕÆ®´Â Ŭ·¡½º¿¡¼ ÇÊ¿äÇÑ ¸¸Å »ý¼ºµË´Ï´Ù. ¸¸ÀÏ ´ç½ÅÀÌ Äڵ带 º¸°í, ´ç½ÅÀÌ ½Ç¼öÇß´Ù´Â °ÍÀ» ¹ß°ßÇϸé, ´ç½ÅÀº ±× ÀÌÀüÀÇ »óÅ·ΠÄڵ带 µ¹¸®±â À§ÇØ Undo¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÏ´Ü ±¸¼º ¿ä¼Ò°¡ µ¥ÀÌÅÍ¿¡ ¹ÙÀÎµå µÇ¾ú´Ù¸é, ´ç½ÅÀº ¸¶¹ý»ç¸¦ ´Ù½Ã µ¥ÀÌÅÍ ¹ÙÀεù ¸¶¹ý»ç¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× °æ¿ì¿¡´Â, ´ç½ÅÀº
µ¥ÀÌÅÍ ¹ÙÀεùÀ» Á¦°ÅÇϰųª ´Ù¸¥ bean¿¡ ¹ÙÀεåÇÏ´Â ¿É¼ÇÀ» ºÎ¿©¹Þ½À´Ï´Ù. ¸¸ÀÏ ´ç½ÅÀÌ ÈÄÀÚÀÇ ¿É¼ÇÀ» ¼±ÅÃÇϸé, ¸¶¹ý»ç´Â ´ç½ÅÀÌ µ¥ÀÌÅÍ ¹ÙÀεùÀ» À§ÇØ ¼±ÅÃÇϰųª, bean Ŭ·¡½º¸¦ »ý¼ºÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. UI
Ŭ·¡½º(ÀÓÆ÷Æ®¸¦ Æ÷ÇÔÇÏ´Â °Í)ÀÇ ¿ø½Ã ÄÚµå´Â ´ç½ÅÀÇ ¼±Åðú »ç¾ç¿¡ µû¶ó º¯°æµË´Ï´Ù.
´ç½ÅÀÇ Äڵ忡¼ ´ç½ÅÀº Æû Ŭ·¡½º¸¦ ½ÇÁõÇÏ´Â Äڵ带 °®´Â °ÍÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÆûÀÇ Å¬·¡½º°¡ ¶ÇÇÑ ¸ÞÀΠŬ·¡½º°¡ ÀÖ´Â ¿ì¸® ¿¹Á¦¿¡¼, ¿ì¸®´Â ÆûÀ» À§ÇØ ·±Å¸ÀÓ ÇÁ·¹ÀÓÀ» »ý¼ºÇß½À´Ï´Ù. ±×°ÍÀ» ÇÏ´Â °°Àº ¸Þ¼Òµå´Â ÇÁ·¹ÀÓÀÇ Æó±â óºÐÀ» ó¸®ÇÕ´Ï´Ù. ¿ì¸®ÀÇ ÀÛÀº °¡ÀÔ ÆûÀÇ ¿¹´Â ÀÚ¸³Çü ÇÁ·Î±×·¥À¸·Î¼ ½ÇÇàÇϰí, ±×·¡¼ Æû Ŭ·¡½º´Â ·±Å¸ÀÓ ÇÁ·¹ÀÓÀÇ »ý¼º°ú Æó±â¸¦ ó¸®ÇÏ´Âmain() ¸Þ¼Òµå¸¦ °®½À´Ï´Ù:

ÀϺΠ¾ÖÇø®ÄÉÀ̼ÇÀÇ ºÎºÐÀÎ ´ëÈ »óÀÚ¸¦ À§ÇØ, ÀÌ GUI Æû ·±Å¸ÀÓ Äڵ尡 ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸ÞÀΠŬ·¡½º¿¡ ¹°·Ð ÀÖÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. Ŭ·¡½º°¡ ÆûÀ» »ç¿ëÇÒ Çʿ䰡 ¹«¾ùÀÌ´øÁö °£¿¡ ´ç½ÅÀº ±×°Í¿¡ ºÎ¸¦ °Í ÀÔ´Ï´Ù.
|